package com.boot.common.constant;

/**
 * Redis Key常量
 */
public interface RedisConstant {

    /**
     * 限流相关键
     */
    interface RateLimiter {
        String IP = "rate_limiter:ip:{}";
    }

    /**
     * 分布式锁相关键
     */
    interface Lock {
        String RESUBMIT = "lock:resubmit:{}:{}";
    }

    /**
     * 认证模块
     */
    interface Auth {
        String TOKEN = "auth:token:{}:{}";
        String LOGIN_ERROR = "auth:login_error:{}";
    }

    /**
     * 用户模块
     */
    interface User{
        String INFO = "user:info:{}#{}";
        String CAPTCHA = "user:captcha:{}";
    }

    /**
     * 配置模块
     */
    interface Config{
        String INFO = "config:info:{}#{}";
    }

    /**
     * 角色模块
     */
    interface Role{
        String INFO = "role:info:{}#{}";
    }

    /**
     * 字典模块
     */
    interface Dict{
        String INFO = "dict:info:{}#{}";
    }

    /**
     * 部门模块
     */
    interface Dept{
        String INFO = "dept:info:{}#{}";
    }

    /**
     * 菜单模块
     */
    interface Menu{
        String INFO = "menu:info:{}";
    }

    /**
     * 模块
     */
    interface Module{
        String INFO = "module:info:{}#{}";
    }

}
